/*
 * @Author: your name
 * @Date: 2021-10-12 10:49:25
 * @LastEditTime: 2021-10-12 10:58:51
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \X\1km\driver\sensor\pules_cnt\pules_cnt.h
 */
#ifndef __PULES_CNT_H
#define __PULES_CNT_H

#include "../../bsp/bsp.h"

/* 码盘反馈脉冲枚举 */
typedef enum{
	GANTRY_PULSE = 0,	//龙门移动脉冲
	LIFTER_PULSE,		//升降脉冲
	LEFT_PUTTER_PULSE,	//左推杆脉冲
	RIGHT_PUTTER_PULSE,	//右推杆脉冲
	PULSE_NUM
}FEEDBACK_PULSE_E;

/**
 * 脉冲计数初始化
 * 
 * @return  0：成功
 */
int xp_pules_init(void);

/**
 * 脉冲计数反初始化
 * 
 * @return  0：成功
 */
int xp_pules_Deinit(void);

/**
 * 清零相应通道脉冲计数值
 * 
 * @param[in]  0~3
 * 
 * @return  0：成功 -1：失败(参数错误)
 */
int xp_pules_clear(uint8_t id);

/**
 * 获取相应通道脉冲计数值
 * 
 * @param[in]  0~3
 * 
 * @return  脉冲数（通道参数错误返回 UINT32_MAX）
 */
uint32_t xp_pules_get_cnt(uint8_t id);


#endif